def generate_test_data():
    """生成测试数据"""
    test_cases = []
    
    # 基础测试用例
    test_cases.append([-10, -3, 0, 5, 9])  # 经典示例
    test_cases.append([1, 3])  # 两个节点
    test_cases.append([1])  # 单个节点
    test_cases.append([])  # 空链表
    test_cases.append([1, 2, 3, 4, 5])  # 奇数个节点
    test_cases.append([1, 2, 3, 4])  # 偶数个节点
    
    # 随机生成测试用例
    import random
    for _ in range(3):
        length = random.randint(1, 10)
        values = sorted([random.randint(-50, 50) for _ in range(length)])
        test_cases.append(values)
    
    return test_cases

def create_linked_list(values):
    """根据数组创建链表"""
    if not values:
        return None
    
    head = ListNode(values[0])
    current = head
    for val in values[1:]:
        current.next = ListNode(val)
        current = current.next
    return head
